Systems and methods for spinal surgical procedures

ABSTRACT

A method comprising capturing a pose of a surgical tool at a surgical site of a patient. The method includes determining a range of movement of the surgical tool at the surgical site, in response to the captured pose. The method includes displaying a representation of the determined range of movement onto an image associated with the surgical site. The method includes providing one or more instructions to limit a movement of a robotic device according to the determined range of movement.

CROSS-REFERENCE TO RELATED APPLICATION

This application claims the benefit of and priority to U.S. ProvisionalApplication No. 62/727,537, filed on Sep. 5, 2018, the entire disclosureof which is incorporated herein by reference.

FIELD

This disclosure describes motion programming of a robotic device basedon a tracked surgical instrument.

BACKGROUND

Minimally invasive surgery typically limits the size of incisions into ahuman body so that the recovery from surgical procedures may be quickand the odds of infection reduced. However, only a few tools may beconcurrently used by the same surgeon during minimally invasive surgery.Sometimes a tool change may occur to place the proper tool with thesurgical suite. A tool change may extend out of time of a minimallyinvasive surgical procedure. Moreover, minimally invasive surgery may beburdensome on a surgeon, particularly when manually operating surgicalcontrols for long periods of time.

SUMMARY

In one embodiment, a method comprises capturing a pose of a surgicaltool at a surgical site of a patient. The method also comprisesdetermining a range of movement of the surgical tool at the surgicalsite, in response to the captured pose. The method also comprisesdisplaying a representation of the determined range of movement onto animage associated with the surgical site. The method also comprisesproviding one or more instructions to limit a movement of a roboticdevice according to the determined range of movement.

In another embodiment, a system comprises a tracking device, a roboticdevice, and a processing device. The processing device comprises aprocessor and a non-transitory computer readable medium having storedthereon instructions that, when executed by the processor, cause thesystem to capture, via the tracking device, a pose of a surgical tool ata surgical site of a patient. The stored thereon instructions that, whenexecuted by the processor, also cause the system to determine, by theprocessor, a range of movement of the surgical tool at the surgicalsite, in response to the captured pose. The stored thereon instructionsthat, when executed by the processor, also cause the system to display arepresentation of the determined range of movement onto an imageassociated with the surgical site. The stored thereon instructions that,when executed by the processor, also cause the system to provide one ormore instructions to limit a movement of a robotic device according tothe determined range of movement.

In another embodiment, a method comprises capturing a pose of a surgicaltool at a surgical site of a patient, wherein the surgical tool iscoupled to a robotic device. The method also comprises determining anaxis for pivoting the surgical tool and a range of degrees within one ormore planes for pivoting the surgical tool about the axis, in responseto the captured pose. The method also comprises displaying arepresentation of at least one of the axis and the range of degrees on adisplay. The method also comprises providing one or more instructions tolimit a movement of the robotic device according to the axis and therange of degrees within the one or more planes.

BRIEF DESCRIPTION OF THE DRAWINGS

Many advantages of the present invention will be apparent to thoseskilled in the art with a reading of this specification in conjunctionwith the attached drawings, wherein like reference numerals are appliedto like elements and wherein:

FIG. 1 illustrates an example system for performing a surgicalprocedure, according to an embodiment of the present disclosure;

FIG. 2 illustrates an example robotic device that may be used during asurgical procedure, according to an embodiment of the presentdisclosure;

FIG. 3 illustrates an example block diagram of a computing device,according to an embodiment of the present disclosure;

FIG. 4 illustrates an example computer medium, according to anembodiment of the present disclosure;

FIG. 5 illustrates a flow diagram of an example method during a surgicalprocedure, according to an embodiment of the present disclosure;

FIG. 6 illustrates another flow diagram of an example method during asurgical procedure, according to an embodiment of the presentdisclosure;

FIG. 7 illustrates an example image that may be displayed during asurgical procedure, according to an embodiment of the presentdisclosure.

DETAILED DESCRIPTION

Illustrative embodiments of the invention are described below. In theinterest of clarity, not all features of an actual implementation aredescribed in this specification. It will of course be appreciated thatin the development of any such actual embodiment, numerousimplementation-specific decisions must be made to active the developers'specific goals, such as compliance with system-related andbusiness-related constraints, which will vary from one implementation toanother. Moreover, it will be appreciated that such a development effortmight be complex and time-consuming, but nevertheless be a routineundertaking for those of ordinary skill in the art having the benefit ofthis disclosure. It is furthermore to be readily understood that,although discussed below primarily within the context of spinal surgery,the systems and methods of the present invention may be employed in anynumber of anatomical settings to provide access to any number ofdifferent surgical target sites throughout the body.

Examples described herein include systems and methods for performing asurgical procedure. In one example, a method includes capturing a poseof a surgical tool at a surgical site of a patient. In one scenario, thesurgical tool is coupled to a robotic device. In this scenario, a user(e.g., surgeon) may guide the surgical tool to the surgical site withassistance by the robotic device.

The method also includes, in response to the captured pose, determininga range of movement of the surgical tool at the surgical site. In oneexample, the determined range of movement may be based be conicalaccording to a determined axis of the surgical tool. In another example,the determined range of movement may be determined along the edge of asurgical tool such as a retractor. In this example, the range ofmovement may be limited to one or more arms of the retractor.

The method also includes display a representation of the determinedrange of movement onto an image associated with the surgical site. Inone example, the image may be a two-dimensional image orthree-dimensional image of the surgical site. In another example, theimage of associated with the surgical site may be a pre-operative orintra-operative image of the patient.

The method also includes providing one or more instructions to limit amovement of a robotic device according to the determined range ofmovement. For example, the robotic device may be configured to assistwith a surgical procedure involving the use of one or more pediclescrews. In this example, a surgeon may guide a surgical tool coupled tothe robotic device to one or more pedicles associated with one morevertebrae. Based on the captured pose of the surgical tool, the one ormore instructions may further limit movement of the robotic device inorder to avoid breaching a perimeter of the pedicle when inserting theone or more pedicle screws in the one or more vertebrae.

Referring now to the figures, FIG. 1 is a diagram of an example system100 for performing a surgical procedure. The example system 100 includesa base unit 102 supporting a C-Arm imaging device 103. The C-Arm 103includes a radiation source 104 that is positioned beneath the patient Pand that directs a radiation beam upward to the receiver 105. Thereceiver 105 of the C-Arm 103 transmits image data to a processingdevice 122. The processing device 122 may communicate with a trackingdevice 130 to obtain position and orientation information of variousinstruments (e.g., instrument T) used during the surgical procedure. Thetracking device 130 may communicate with a robotic device 140 to providelocation information of various tracking elements, such as marker 150.The robotic device 140 and the processing device 122 may communicate viaone or more communication channels.

The base unit 102 includes a control panel 110 through which a user cancontrol the location of the C-Arm 103, as well as the radiationexposure. The control panel 110 thus permits the radiology technician to“shoot a picture” of the surgical site at a surgeon's direction, controlthe radiation dose, and initiate a radiation pulse image.

The C-Arm 103 may be rotated about the patient P in the direction of thearrow 108 for different viewing angles of the surgical site. In someinstances, implants or instrument T may be situated at the surgicalsite, necessitating a change in viewing angle for an unobstructed viewof the site. Thus, the position of the receiver relative to the patientP, and more particularly relative to the surgical site of interest, maychange during a procedure as needed by the surgeon or radiologist.Consequently, the receiver 105 may include a tracking target 106 mountedthereto that allows tracking of the position of the C-Arm 103 using thetracking device 130. By way of example only, the tracking target 106 mayinclude a plurality of infrared (IR) reflectors or emitters spacedaround the target, while the tracking device 130 is configured totriangulate the position of the receiver 105 from the IR signalsreflected or emitted by the tracking target 106.

The processing device 122 can include a digital memory associatedtherewith and a processor for executing digital and softwareinstructions. The processing device 122 may also incorporate a framegrabber that uses frame grabber technology to create a digital image forprojection as displays 123 and 124 on a display device 126. The displays123 and 124 are positioned for interactive viewing by the surgeon duringthe procedure. The two displays 123 and 124 may be used to show imagesfrom two views, such as lateral and A/P, or may show a baseline scan anda current scan of the surgical site, or a current scan and a “merged”scan based on a prior baseline scan and a low radiation current scan. Aninput device 125, such as a keyboard or a touch screen, can allow thesurgeon to select and manipulate the on-screen images. It is understoodthat the input device may incorporate an array of keys or touch screenicons corresponding to the various tasks and features implemented by theprocessing device 122. The processing device 122 includes a processorthat converts the image data obtained from the receiver 105 into adigital format. In some cases, the C-Arm 103 may be operating in thecinematic exposure mode and generating many images each second. In thesecases, multiple images can be averaged together over a short time periodinto a single image to reduce motion artifacts and noise.

The tracking device 130 includes sensors 131 and 132 for determininglocation data associated with a variety of elements (e.g., an infraredreflector or emitter) used in a surgical procedure. In one example, thesensors 131 and 132 may be a charge-coupled device (CCD) image sensor.In another example, the sensors 131 and 132 may be a complementarymetal-oxide-semiconductor (CMOS) image sensor. It is also envisionedthat a different number of other image sensors may be used to achievethe functionality described.

In one aspect, the robotic device 140 may assist with holding aninstrument T relative to the patient P during a surgical procedure. Inone scenario, the robotic device 140 may be configured to maintain theinstrument T in a relative position to the patient P as the patient Pmoves (e.g., due to breathing) or is moved (e.g., due to manipulation ofthe patient's body) during the surgical procedure.

The robotic device 140 may include a robot arm 141, a pedal 142, and amobile housing 143. The robotic device 140 may also be in communicationwith a display such as display 126. The robotic device 140 may alsoinclude a fixation device to fix the robotic device 140 to an operatingtable.

The robot arm 141 may be configured to receive one or more end effectorsdepending on the surgical procedure and the number of associated joints.In one example, the robot arm 141 may be a six joint arm. In thisexample, each joint includes an encoder which measures its angularvalue. The movement data provided by the one or more encoders, combinedwith the known geometry of the six joints, may allow for thedetermination of the position of the robot arm 141 and the position ofthe instrument T coupled to the robot arm 141. It also envisioned that adifferent number of joints may be used to achieve the functionalitydescribed herein.

The mobile housing 143 ensures easy handling of the robotic device 140through the use of wheels or handles or both. In one embodiment, themobile housing 143 may include immobilization pads or an equivalentdevice. The mobile housing 143 may also include a control unit whichprovides one or more commands to the robot arm 141 and allows a surgeonto manually input data through the use of an interface, such as a touchscreen, a mouse, a joystick, a keyboard or similar device.

In one example, the processing device 122 is configured to capture apose of an instrument T via the tracking device 130. The captured poseof the instrument includes a combination of position information andorientation information. In this example, the pose of the instrument Tis based on a user defined placement at a surgical site of the patientP. The user defined placement is based on movement of the instrument Tby a surgeon or the robotic device 140 or both. In one scenario, theinstrument comprises one or more infrared reflectors or emitters.Continuing with this example, the processing device 122 is configured todetermine a range of movement of the instrument T corresponding to thecaptured pose of the instrument T. The range of movement is associatedwith the actuation of one or more components (e.g., one or more linksand joints) of the robotic device 140. The processing device 122 isconfigured to determine one or more instructions for actuating the oneor more components of the robotic device 140 according to the determinedrange of movement. Further, the processing device 122 is configured toprovide the one or more instructions to the robotic device 140.

In another example, in response to the captured pose of the instrumentT, the processing device 122 is configured to determine an axis forpivoting the instrument T and a range of degrees within one or moreplanes for pivoting the instrument T about the determined axis. In thisexample, the processing device 122 is configured to provide the one ormore instructions to limit a movement to robotic device 140 for pivotingthe instrument T coupled to the robotic device 140. The robotic device140, as described herein, is configured to convert the one or moreinstructions for enabling the instrument T to be pivoted according tothe determined axis and the range of degrees within one or more planes.

FIG. 2 illustrates an example robotic device 200 that may be used duringa surgical procedure. The robotic device 200 may contain hardware, suchas a processor, memory or storage, and sensors that enable the roboticdevice 200 for use in a surgical procedure. The robotic device 200 maybe powered by various means such as electric motor, pneumatic motors,hydraulic motors, etc. The robotic device 200 includes a base 202, links206, 210, 214, 218, 222, and 226, joints 204, 208, 212, 216, 220, 224,and 230, and manipulator 228.

The base 202 may provide a platform in order to provide support for therobotic device 200. The base 202 may be stationary or coupled to wheelsin order to provide movement of the robotic device 200. The base 202 maycomprise any number of materials such as aluminum, steel, stainlesssteel, etc., that may be suitable for a given environment associatedwith the robotic device 200.

The links 206, 210, 214, 218, 222, and 226 may be configured to be movedaccording to a programmable set of instructions. For instance, the linksmay be configured to follow a predetermined set of movements (e.g., alimited range of movements based on a captured pose of an instrument) inorder to accomplish a task under the supervision of a user. By way ofexample, the links 206, 210, 214, 218, 222, and 226 may form a kinematicchain that defines relative movement of a given link of links 206, 210,214, 218, 222, and 226 at a given joint of the joints 204, 208, 212,216, 220, 224, and 230.

The joints 204, 208, 212, 216, 220, 224, and 230 may be configured torotate through the use of a mechanical gear system. In one example, themechanical gear system is driven by a strain wave gearing, a cycloiddrive, etc. The mechanical gear system selected would depend on a numberof factors related to the operation of the robotic device 200 such asthe length of the given link of the links 206, 210, 214, 218, 222, and226, speed of rotation, desired gear reduction, etc. Providing power tothe joints 204, 208, 212, 216, 220, 224, and 230 will allow for thelinks 206, 210, 214, 218, 222, and 226 to be moved in a way that allowsthe manipulator 228 to interact with an environment.

In one example, the manipulator 228 is configured to allow the roboticdevice 200 to interact with the environment according to one or moreconstraints. In one example, the manipulator 228 performs appropriateplacement of an element through various operations such as gripping asurgical instrument. By way of example, the manipulator 228 may beexchanged for another end effector that would provide the robotic device200 with different functionality.

In one example, the robotic device 200 is configured to operateaccording to a robot operating system (e.g., an operating systemdesigned for specific functions of the robot). A robot operating systemmay provide libraries and tools (e.g., hardware abstraction, devicedrivers, visualizers, message-passing, package management, etc.) toenable robot applications.

FIG. 3 is a block diagram of a computing device 300, according to anexample embodiment. In some examples, some components illustrated inFIG. 3 may be distributed across multiple computing devices (e.g.,desktop computers, servers, hand-held devices, etc.). However, for thesake of the example, the components are shown and described as part ofone example device. The computing device 300 may include an interface302, a movement unit 304, a control unit 306, a communication system308, a data storage 310, and a processor 314. Components illustrated inFIG. 3 may be linked together by a communication link 316. In someexamples, the computing device 300 may include hardware to enablecommunication within the computing device 300 and another computingdevice (not shown). In one embodiment, the robotic device 140 or therobotic device 200 may include the computing device 300.

The interface 302 may be configured to allow the computing device 300 tocommunicate with another computing device (not shown). Thus, theinterface 302 may be configured to receive input data from one or moredevices. In some examples, the interface 302 may also maintain andmanage records of data received and sent by the computing device 300. Inother examples, records of data may be maintained and managed by othercomponents of the computing device 300. The interface 302 may alsoinclude a receiver and transmitter to receive and send data. In someexamples, the interface 302 may also include a user-interface, such as akeyboard, microphone, touch screen, etc., to receive inputs as well.Further, in some examples, the interface 302 may also interface withoutput devices such as a display, speaker, etc.

In one example, the interface 302 may receive an input indicative oflocation information corresponding to one or more elements of anenvironment in which a robotic device (e.g., robotic device 140, roboticdevice 200) resides. In this example, the environment may be anoperating room in a hospital comprising a robotic device configured tofunction during a surgical procedure. The interface 302 may also beconfigured to receive information associated with the robotic device.For instance, the information associated with the robotic device mayinclude operational characteristics of the robotic device and a range ofmotion with one or more components (e.g., joints 204, 208, 212, 216,220, 224, and 230) of the robotic device (e.g., robotic device 140,robotic device 200).

The control unit 306 of the computing device 300 may be configured torun control software which exchanges data with components (e.g., robotarm 141, robot pedal 142, joints 204, 208, 212, 216, 220, 224, and 230,manipulator 228, etc.) of a robotic device (e.g., robotic device 140,robotic device 200) and one or more other devices (e.g., processingdevice 122, tracking device 130, etc.). The control software maycommunicate with a user through a user interface and display monitor(e.g., display 126) in communication with the robotic device. Thecontrol software may also communicate with the tracking device 130 andthe processing device 122 through a wired communication interface (e.g.,parallel port, USB, etc.) and/or a wireless communication interface(e.g., antenna, transceivers, etc.). The control software maycommunicate with one or more sensors to measure the efforts exerted bythe user at the instrument T mounted to a robot arm (e.g., robot arm141, link 226). The control software may communicate with the robot armto control the position of the robot arm relative to the marker 150.

As described above, the control software may be in communication withthe tracking device 130. In one scenario, the tracking device 130 may beconfigured to track the marker 150 that is attached to the patient P. Byway of example, the marker 150 may be attached to a spinous process of avertebra of the patient P. In this example, the marker 150 may includeone or more infrared reflectors that are visible to the tracking device130 to determine the location of the marker 150. In another example,multiple markers may be attached to one or more vertebrae and used todetermine the location of the instrument T.

In one example, the tracking device 130 may provide updates in nearreal-time of the location information of the marker 150 to the controlsoftware of the robotic device 140. The robotic device 140 may beconfigured to receive updates to the location information of the marker150 from the tracking device 130 via a wired and/or wireless interface.Based on the received updates to the location information of the marker150, the robotic device 140 may be configured to determine one or moreadjustments to a first position of the instrument T in order to maintaina desired position of the instrument T relative to the patient P.

In one embodiment, the control software may include independent modules.In an exemplary embodiment, these independent modules run simultaneouslyunder a real time environment and use a shared memory to ensuremanagement of the various tasks of the control software. The modules mayhave different priorities, such as a safety module having the highestpriority, for example. The safety module may monitor the status of therobotic device 140. In one scenario, the safety module may send aninstruction to the control unit 306 to stop the robot arm 141 when acritical situation is detected, such as an emergency stop, softwarefailure, or collision with an obstacle, for example.

In one example, the interface 302 is configured to allow the roboticdevice 140 to communicate with other devices (e.g., processing device122, tracking device 130). Thus, the interface 302 is configured toreceive input data from one or more devices. In some examples, theinterface 302 may also maintain and manage records of data received andsent by other devices. In other examples, the interface 302 may use areceiver and transmitter to receive and send data.

The interface 302 may be configured to manage the communication betweena user and control software through a user interface and display screen(e.g., via displays 123 and 124). The display screen may display agraphical interface that guides the user through the different modesassociated with the robotic device 140. The user interface may enablethe user to control movement of the robot arm 141 associated with thebeginning of a surgical procedure, activate a given mode to be usedduring a surgical procedure, and stop the robot arm 141 if needed, forexample.

The movement unit 304 may be configured to determine the movementassociated with one or more components of the robot arm 141 to perform agiven procedure. In one embodiment, the movement unit 304 may beconfigured to determine the trajectory of the robot arm 141 usingforward and inverse kinematics. In one scenario, the movement unit 304may access one or more software libraries to determine the trajectory ofthe robot arm 141. In another example, the movement unit 304 isconfigured to receive one or more instructions for actuating the one ormore components of the robotic device 140 from the processing device 122according to a determined range of movement of a surgical tool at asurgical site.

The movement unit 304 may include a force module to monitor the forcesand torques measured by one or more sensors coupled to the robot arm141. In one scenario, the force module may be able to detect a collisionwith an obstacle and alert the safety module.

The control unit 306 may be configured to manage the functionsassociated with various components (e.g., robot arm 141, pedal 142,etc.) of the robotic device 140. For example, the control unit 306 maysend one or more commands to maintain a desired position of the robotarm 141 relative to the marker 150. The control unit 306 may beconfigured to receive movement data from a movement unit 304.

In one scenario, the control unit 306 can instruct the robot arm 141 tofunction according to a cooperative mode. In the cooperative mode, auser is able to move the robot arm 141 manually by holding the tool Tcoupled to the robot arm 141 and moving the instrument T to a desiredposition. In one example, the robotic device 140 may include one or moreforce sensors coupled to an end effector of the robot arm 141. By way ofexample, when the user grabs the instrument T and begins to move it in adirection, the control unit 306 receives efforts measured by the forcesensor and combines them with the position of the robot arm 141 togenerate the movement desired by the user.

In one scenario, the control unit 306 can instruct the robot arm 141 tofunction according to a given mode that will cause the robotic device140 to maintain a relative position of the instrument T to a given IRreflector or emitters (e.g., the marker 150). In one example, therobotic device 140 may receive updated position information of themarker 150 from the tracking device 130 and adjust as necessary. In thisexample, the movement unit 304 may determine, based on the receivedupdated position information of the marker 150, which joint(s) of therobot arm 141 need to move in order to maintain the relative position ofthe instrument T with the marker 150.

In another scenario, a restrictive cooperative mode may be defined by auser to restrict movements of the robotic device 140. For the example,the control unit 306 may restrict movements of the robot arm 141 to aplane or an axis, according to user preference. In another example, therobotic device 140 may receive information pertaining to one or morepredetermined boundaries within the surgical site that should notintersect with a surgical tool or implant based on a user guidedmovement of the robot arm 141.

In one embodiment, the robotic device 140 may be in communication withthe processing device 122. In one example, the robotic device 140 mayprovide the position and orientation data of the instrument T to theprocessing device 122. In this example, the processing device 122 may beconfigured to store the position and orientation data of the instrumentT for further processing. In one scenario, the image processing device122 may use the received position and orientation data of the instrumentT to overlay a virtual representation of the instrument T on display126.

In one embodiment, a sensor configured to detect a pressure or force maybe coupled to the last joint of the robot arm (e.g., link 226). Based ona given movement of the robot arm, the sensor may provide a reading ofthe pressure exerted on the last joint of the robot arm to a computingdevice (e.g., a control unit of the robotic device). In one example, therobotic device may be configured to communicate the force or pressuredata to a computing device (e.g., processing device 122). In anotherembodiment, the sensor may be coupled to an instrument such as aretractor. In this embodiment, the force or pressure exerted on theretractor and detected by the sensor may be provided to the roboticdevice (e.g., robotic device 140, robotic device 200) or a computingdevice (e.g., processing device 122) or both for further analysis.

In one scenario, the robotic device may access movement data stored in amemory of the robotic device to retrace a movement along a determinedmotion path. In one example, the robotic device may be configured tomove the surgical tool along the determined motion path to reach or moveaway from the surgical site.

In another scenario, once the instrument coupled to a robot arm (e.g.,robot arm 141, links 206, 210, 214, 218, 222, and 226) of a roboticdevice reaches a desired pedicle screw trajectory, the robotic devicemay be configured to receive an input from the surgeon to travel alongthe desired pedicle screw trajectory. In one example, the surgeon mayprovide an input to the robotic device (e.g., depressing the pedal 142)to confirm the surgeon's decision to enable the robotic device to travelalong the desired pedicle screw trajectory. In another example, a usermay provide another form of input to either the robotic device or thecomputing device to assist with movement of an instrument along adetermined motion path.

In one scenario, once the robotic device has received confirmation totravel along the desired pedicle screw trajectory, the robotic devicemay receive instructions from the movement unit 304 to pivot from thecurrent trajectory to the desired pedicle screw trajectory. The movementunit 304 may provide the control unit 306 the required movement data toenable the robotic device to move along the desired pedicle screwtrajectory.

In another aspect, a robotic device (e.g., robotic device 140, roboticdevice 200) may be configured to pivot about an area of significancebased on the captured pose of a surgical tool (e.g., instrument T). Forexample, the robotic device may be configured to pivot a retractor aboutthe tip of the retractor so that all the steps associated withretraction of soft tissue do not need to be repeated. In one example,the movement unit 304 may determine the trajectory required to pivot theretractor.

In one example, the robotic device may be coupled to a retractor that isholding soft tissue away from a surgical site. In this example, asurgeon may need to slightly reposition the retractor due to a patientmovement. To do so, the surgeon may activate a mode on the roboticdevice that causes the retractor to pivot by moving the robot arm (e.g.,robot arm 141, links 206, 210, 214, 218, 222, and 226) according to atrajectory determined by the movement unit 304. In one example, a usermay input the direction and amount of movement desired via a computingdevice (e.g., the processing device 122, computing device 300). Afterthe direction and amount of movement have been entered, the user (e.g.,a surgeon) may interface with the robotic device (e.g., depress thepedal 142) to begin the movement of the instrument coupled to the robotarm. In one example, the robotic device may allow a user to view adifferent aspect of the anatomy without disengaging from a dockingpoint.

In another example, the movement unit 304 may provide one or moretrajectories for moving the surgical tool (e.g., instrument T) based onthe captured pose of the surgical tool to a computing device (e.g.,processing device 122) for display on display 126. In this example, auser may choose from one or more limited movements associated with agiven step of a surgical procedure. For example, the one or more limitedmovements may be associated with a specific direction and amount ofmovement to be performed through the use of one or more buttons coupledto the robotic device 140 and by an individual applying a force to aportion of the robotic device 140.

In one scenario, the robot arm of the robotic device may be coupled toan instrument such as a dilator. In this scenario, the robotic devicemay receive one or more commands to pivot about the distal end of thedilator by a predetermined amount of degrees. The movement unit 304 maybe configured to determine the trajectory necessary to perform the pivotand provide the determined trajectory information to the control unit306 for moving the robotic device.

In another aspect, one or more infrared (IR) reflectors or emitters maybe coupled to a robot arm (e.g., robot arm 141, links 206, 210, 214,218, 222, and 226) of the robotic device (e.g., robotic device 140,robotic device 200). In one scenario, the tracking device 130 may beconfigured to determine the location of the one or more IR reflectors oremitters prior to beginning operation of the robotic device. In thisscenario, the tracking device 130 may provide the location informationof the one or more IR reflectors or emitters to a computing device(e.g., processing device 122, computing device 300) for furtherprocessing.

In one example, the processing device 122 or computing device 300 may beconfigured to compare the location information of the one or more IRreflectors or emitters coupled to the robot arm with data stored on alocal or remote database that contains information about the roboticdevice (e.g., a geometric model of the robotic device) to assist indetermining a location or position of the robot arm. In one example, theprocessing device 122 may determine a first position of the robot armfrom information provided by the tracking device 130. In this example,the processing device 122 may provide the determined first position ofthe robot arm to the robotic device or a computing device (e.g.,computing device 300). In one example, the robotic device may use thereceived first position data to perform a calibration of one or moreelements (e.g., encoders, actuators) associated with the one or morejoints of the robot arm.

In one scenario, an instrument coupled to the robot arm of the roboticdevice may be used to determine a difference between an expected tiplocation of the instrument and the actual tip location of theinstrument. In this scenario, the robotic device may proceed to move theinstrument to a known location by the tracking device 130 so that thetip of the tool is in contact with the known location. The trackingdevice 130 may capture the location information corresponding to the oneor more IR reflectors or emitters coupled to the robot arm and providethat information to the robotic device or a computing device (e.g.,processing device 122, computing device 300). Further, either therobotic device or the computing device may be configured to adjust acoordinate system offset between the robotic device and the trackingdevice 130 based on the an expected tip location of the tool and theactual tip location of the tool.

In another aspect, a force or pressure sensor may be coupled to a robotarm (e.g., robot arm 141, links 206, 210, 214, 218, 222, and 226) of arobotic device (e.g., robotic device 140, robotic device 200). In oneexample, the force or pressure sensor may be located on an end effectorof the robot arm. In another example, the force or pressure sensor maybe coupled to a given joint of the robotic arm. The force or pressuresensor may be configured to determine when a force or pressure readingis above a resting threshold. The resting threshold may be based on aforce or pressure experienced at the sensor when the end effector isholding the instrument without any additional forces or pressure appliedto the instrument (e.g., a user attempting to move the instrument). Inone example, the robot arm may stop moving if the force or pressurereading is at or below the resting threshold.

In one example, the movement of the robot arm 141 may be controlled bydepression of the pedal 142. For example, while the pedal 142 isdepressed, the control unit 306 and the movement unit 304 may beconfigured to receive any measures of force or pressure from the one ormore force sensors and used the received information to determine thetrajectory of the robot arm 141.

In another example, the movement of the robot arm 141 may be regulatedby how much the pedal 142 is depressed. For example, if the userdepresses the pedal 142 to the full amount, the robot arm 141 may movewith a higher speed compared to when the pedal 142 is depressed at halfthe amount. In another example, the movement of the robot arm 141 may becontrolled by a user interface located on the robotic device.

In one example, the robotic device (e.g., robotic device 140, roboticdevice 200) may be configured to store, in a local or remote memory,movement data that corresponds to a determined range of movementassociated with a surgical tool. In this example, the robotic device maybe configured to only travel in one or more directions as defined by thedetermined range of movement.

In another example, the instrument coupled to the robot arm may includea switch that is in communication with the robotic device. The switchmay be in the form of a button that provides a signal to the roboticdevice to move the robot arm according to the force detected by theforce or pressure sensors associated with the end effector or one ormore joints of the robot arm. In this example, when the surgeon lets goof the switch, the robotic device will interpret that action as astopping command and maintain the position of the instrument.

In one example, the surgeon may incorporate the use of athree-dimensional image of the spine and define one or more planes thatthe instrument should not traverse. In this example, despite force orpressure sensor detecting a force to move the instrument, the robot armwill not allow the surgeon to move the instrument past the defined oneor more planes according to the constraints associated with thepredefined plan. By way of example, the robotic device may be configuredto provide an alert to the surgeon as the instrument approaches the oneor more restricted planes.

In another aspect, a robotic device (e.g., robotic device 140, roboticdevice 200) may be used to navigate one or more surgical instruments andprovide the navigation information to a computing device (e.g.,processing device 122, computing device 300) for further processing. Inone example, the computing device may be configured to determine avirtual representation of the surgical instrument. Further, thecomputing device may be configured to overlay the virtual representationof the surgical instrument on a two-dimensional or three-dimensionalimage of the surgical site.

In one example, the robotic device may perform a calibration procedurebetween the tracking device 130 in order to remove the dependence on thetracking device 130 for location information in the event that a line ofsight between the robotic device and the tracking device 130 is blocked.In one example, using a robotic device which has been registered to anavigation system, as described herein, and a patient'sthree-dimensional image that corresponds to the surgical site may allowthe robotic device to become independent of the degradation of accuracywith distance associated with the tracking device 130.

The communication system 308 may include a wired communication interface(e.g., parallel port, USB, etc.) and/or a wireless communicationinterface (e.g., antenna, transceivers, etc.) to receive and/or providesignals from/to external devices. In some examples, the communicationsystem 308 may receive instructions for operation of the processingdevice 122. Additionally or alternatively, in some examples, thecommunication system 308 may provide output data.

The data storage 310 may store program logic 312 that can be accessedand executed by the processor(s) 314. The program logic 312 may containinstructions that provide control to one or more components of theprocessing device 122, the robotic device 140, the robotic device 200,etc. For example, program logic 312 may provide instructions that adjustthe operation of the robotic device 200 based one on or more userdefined trajectories associated with a portable instrument. The datastorage 310 may comprise one or more volatile and/or one or morenon-volatile storage components, such as optical, magnetic, and/ororganic storage, and the data storage may be integrated in whole or inpart with the processor(s) 314.

The processor(s) 314 may comprise one or more general-purpose processorsand/or one or more special-purpose processors. To the extent theprocessor 314 includes more than one processor, such processors may workseparately or in combination. For example, a first processor may beconfigured to operate the movement unit 304, and a second processor ofthe processors 314 may operate the control unit 306.

Still further, while each of the components are shown to be integratedin the processing device 122, robotic device 140, or robotic device 200,in some embodiments, one or more components may be removably mounted tootherwise connected (e.g., mechanically or electrically) to theprocessing device 122, robotic device 140, or robotic device 200 usingwired or wireless connections.

In another example, the robotic device may assist with trackinginstruments coupled to the robot arm in one or more locations during asurgical procedure. Tracking the instruments via the movement of therobotic device may enable the instrument to be placed in a location thatis difficult for a surgeon to see. For example, the instrument may beplaced behind a drape but tracked via the robotic device and a computingdevice (e.g., processing device 122, computing device 300). In anotherexample, the robotic device may assist with tracking the movements ofthe patient under a sterile barrier. In this example, the robotic devicemay be used to reposition a bed to keep the patient in a knownorientation during a surgical procedure.

In another aspect, a robotic device (e.g., robotic device 140, roboticdevice 200) may be configured to receive one or more constraintscorresponding to the movement associated with a robot arm (e.g., robotarm 141, links 206, 210, 214, 218, 222, and 226). For example, a surgeonmay want to define an area that the robotic device is permitted to movearound in during a surgical procedure. In one scenario, the surgeon mayview a three-dimensional representation of the patient's anatomy on thedisplay 126 and input one or more boundaries associated with movement ofthe robot arm. In another scenario, the surgeon may view atwo-dimensional representation of the patient's anatomy on the displayand define the one or more boundaries through a touch screen associatedwith display 126.

In one example, the surgeon may input the path of the surgical procedureprior to beginning the surgical procedure. For example, the surgeon mayuse a two-dimensional or three-dimensional image of the patient'sanatomy and determine a path for reaching a surgical site. In oneexample, a computing device (e.g., processing device 122, computingdevice 300) may store information corresponding to the predeterminedpath and provide the information to the robotic device prior to thebeginning of the surgical procedure. Once the robotic device is aware ofthe position of the robotic device relative to the patient, the movementunit 304 may use the information corresponding to the predetermined pathto determine one or more trajectories allowed.

In another example, the path for reaching a surgical site may includeconstraints corresponding to a specific depth of penetration during asingle pass of the robot arm. For example, the movement of the robot armmay be limited by a maximum amount chosen by the surgeon. In onescenario, the limit may be informed by another sensor associated withdetecting an electromyography (EMG) response.

In one scenario, the robot arm may be coupled to an instrument that isused to remove bone. In this scenario, the robotic device may receiveone or more commands associated with removing a certain amount of thebone, for example one millimeter of bone removal. The robotic device maybe configured to provide the surgeon a notification when the boneremoval procedure is complete via an audible or visual signal. Inanother scenario, the robotic device may receive one or more commandsassociated with continuing to remove bone until 2 millimeters of thebone remains.

In another example, a path limiting the movement of robot arm maycorrespond to one or more inputs corresponding to anatomicalsegmentation. For example, a surgeon may select a particular vertebra tolimit the movements of the robot arm to that particular vertebra. By wayof example, the robotic device may be further instructed to limit themovement of the robot arm to a specific portion of a vertebra (e.g., thespinous process, etc.).

In another aspect, a robotic device (e.g., robotic device 140, roboticdevice 200) may be coupled to an end effector that assists in retractionof soft tissue and insertion of a fastener to a vertebra of a patient.By way of example, the plates used in spine surgery have knowngeometries that a fastener will be able to correctly engage with andlock into its final position. The plates typically require screw/drillguides to control placement of the threaded fasteners. The guides oftenstick out and are impeding soft tissues that cannot support longdurations of retraction.

In one embodiment, an end effector may be coupled to a robot arm (e.g.,robot arm 141, links 206, 210, 214, 218, 222, and 226) and assist withplacement of a fastener. In one scenario, the robotic device may receivethree-dimensional geometric information about a plate being used in asurgical procedure from a computing device (e.g., processing device 122,computing device 300).

In one example, a given plate may require four fasteners to be installedduring a surgical procedure. In this example, the robotic device may usethe end effector to retract the soft tissue that corresponds to a firstfastener position of the given plate based on a trajectory determined bythe movement unit 304. Further, the movement unit 304 may also beconfigured to determine an optimal trajectory for placement of thefastener through the given plate. Following the placement of the firstfastener, the robotic device may be configured to move the end effectorin a manner that allows for the soft tissue to return to its originalposition and move to retract the soft tissue that corresponds to asecond fastener position of the given plate. In this example, therobotic device may minimize the time that the soft tissue is retractedand thereby decrease a risk to damaging the soft tissue while installingeach of the fasteners to the given plate.

In one example, the movement unit 304 may be configured to determine theamount of angulation that is associated with a given plate to provideadditional ease for placement of a fastener. By way of example, asurgeon may guide the robot arm (e.g., robot arm 141, links 206, 210,214, 218, 222, and 226) until the robotic device detects intersection ofa predetermined optimal path as described above. In this example, therobotic device may be configured to pivot at the intersectionpredetermined optimal path and continue along the path to install thefastener on the given plate. In one example, the end effector used toinstall the fasteners may incorporate additional sensors used to detectany issues that may occur during the surgical procedure while retractingthe soft tissue.

In another aspect, a robotic device (e.g., robotic device 140, roboticdevice 200) may use location information captured by the tracking device130 to determine the position of an instrument coupled to a robot arm(e.g., robot arm 141, links 206, 210, 214, 218, 222, and 226) relativeto the patient. In one embodiment, the robotic device may use movementinformation determined by encoders associated with one or more joints(e.g., joints 204, 208, 212, 216, 220, and 224) of the robotic device todetermine the position of the surgical tool after a calibrationprocedure between the robotic device and the tracking device 130. Inanother embodiment, the tracking device 130 may provide locationinformation to a computing device (e.g., processing device 122,computing device 300) to assist with tracking the robotic device duringthe surgical procedure.

In one example, the tracking device 130 may track the position of theinstrument coupled to the robot arm based on one or more IR reflectorsor emitters. For example, the tracking device 130 may detect the IRreflectors or emitters coupled to the tool and provide locationinformation to the processing device 122. The processing device 122 maybe configured to compare the last known position information of the IRreflectors or emitters coupled to the instrument with the most recentposition information and determine a change in position associated withthe instrument.

In one embodiment, based on the determined change in position of theinstrument, the processing device 122 may be configured to determine theimage data associated with one or more changes in volume of a disc orbone that corresponds to the position of the instrument. In one example,based on the determined image data, the amount of disc or bone removedcould be represented virtually via display 126. For example, the amountof disc or bone could be shown by deleting data corresponding to thepaths that the instrument has reached based on the position informationof the IR reflectors or emitters coupled to the instrument. In anotherexample, in a procedure that includes the use of a drill on a bone inone or more passes, each pass is expected to remove a part of thepatient's anatomy. In this example, with each pass of the surgical toolover the disc, the image data (e.g., pixels) representing the amount ofremoved disc may be changed to a different color (e.g., red) to denote acorresponding volume of the disc has been removed.

In another example, a virtual representation of the path associated withthe instrument coupled to the robot arm may be overlaid on thecorresponding locations of the patient's anatomy. The virtualrepresentation of the path may be displayed with a variety of visualeffects to denote multiple passes by the instrument over a particulararea of the spine. Further, as described above, the robotic device maybe configured to prevent a user from continuing to remove disc spacebased on one or more predetermined boundaries corresponding to themovement of the surgical tool.

In another aspect, the robotic device (e.g., robotic device 140, roboticdevice 200) may include more than one robot arm (e.g., robot arm 141,links 206, 210, 214, 218, 222, and 226). In one scenario, as describedabove, the robotic device and the tracking device 130 may have completeda registration process to correct any offset between each of theircoordinate systems. In this scenario, in addition to completion of theregistration process, the processing device 122 may be configured toreceive a 3D scan of the spine of the patient. In one embodiment, therobotic device may be configured to maintain a spinal alignment of thepatient according to a preoperative plan for spinal alignment.

In one example, the robotic device may use an end effector that isconfigured for gripping a critical element of the surgical procedure.For example, the robotic device may use a first gripper coupled to therobot arm to grip a first pedicle screw and a second gripper coupled toa second robot arm to grip a second pedicle screw. The robotic devicemay be configured to provide a computing device (e.g., processing device122, computing device 300) the position information associated with eachof the first and second robot arms. Based on the received positioninformation, the computing device may determine a current spinalalignment. Further, the computing device may analyze the current spinalalignment to determine a required correction of the spine during asurgical procedure.

For example, analysis of the current spinal alignment may includecomparing the current spinal alignment with the preoperative plan forspinal alignment. In one scenario, the processing computing device maydetermine an offset between the current spinal alignment and thepreoperative plan for spinal alignment. Further, the computing devicemay be configured to determine an amount of movement needed to bring thecurrent spinal alignment to the preoperative plan for spinal alignment.

In one scenario, the computing device may determine that a rotation oftwo degrees by the first robot arm will help restore the current spinalalignment to the preoperative plan. In this scenario, the computingdevice may provide the rotation information needed to robotic device. Byway of example, the movement unit 304 may determine the necessarytrajectory to achieve the rotation of two degrees by the robot arm.Based on the determined trajectory, the control unit 306 may provide theone or more commands to actuate the one or more joints of the robot arm.

In another scenario, the processing device 122 may determine that arotation of two degrees by a first robot arm and a rotation of onedegree by a second robot arm will restore the current spinal alignmentto the preoperative plan. In this scenario, the processing device 122may provide the necessary rotation needed to the robotic device 140. Asdescribed above, the calculations module of the robotic device 140 maydetermine the necessary trajectory to achieve the required movements bythe first and second robot arms.

In another scenario, the robotic device may be supporting the operatingtable that the patient has been placed on. In this scenario, the roboticdevice may also be configured to adjust the operating table in additionto performing one or more movements of the spine to achieve spinalalignment.

In another aspect, the robot arm (e.g., robot arm 141, links 206, 210,214, 218, 222, and 226) of the robotic device (e.g., robotic device 140,robotic device 200) may be configured to receive an ultrasonic probe. Inone scenario, the ultrasonic probe is held by the robot arm in a knownorientation so that it registers the location of the anatomy in theimage for subsequent instrumentation relative to the image with eitherthe robot arm or a co-registered navigation system (e.g., registrationbetween robotic device 140 or robotic device 200 and tracking device130).

In one example, one or more IR emitters or reflectors may be coupled tothe ultrasonic probe. The tracking device 130 may capture the locationinformation of the one or more IR emitters or reflectors coupled to theultrasonic probe. In this example, the location of the robot arm 141 maybe tracked via the use of the one or more IR emitters or reflectors andco-register the robot arm and the ultrasonic probe with the images thatare captured by the ultrasonic probe.

In another aspect, a robot arm (e.g., robot arm 141, links 206, 210,214, 218, 222, and 226) of the robotic device (e.g., robotic device 140,robotic device 200) may be coupled to a pressure-sensing endplatepusher. The pressure-sensing endplate pusher may include two plates thatmay be actuated separately. In one scenario, a first plate of thepressure-sensing endplate pusher may be applied to the lower endplate ofan upper vertebra. In this scenario, a second plate of thepressure-sensing endplate pusher may be applied to the upper endplate ofa lower vertebra. In one embodiment, the pressure-sensing endplatepusher may include one or more sensors for detecting a force on each ofthe first and second plates.

In one embodiment, the plates of the pressure-sensing endplate pusherare coupled to an actuator that enables movement of each plateseparately. In one scenario, the robotic device can provide the feedbackforce (pressure since the area of plate is known) to a computing device(e.g., processing device 122) for further analysis. Each of the plateswill be of significant size so that they cover the same area as animplant to be used when fully inserted between two vertebrae. This willenable a realistic biomechanical force on the anatomy and can providefeedback to ensure that the patient is not loaded to a level that causesa subsequent decompression between the two vertebrae.

The plates will act on each endplate to provide the appropriate heightand angle to allow the surgeon to properly size the implant height andangle to maximize indirect decompression and minimize stress on theendplates that would cause subsidence. In one scenario, the roboticdevice may be provided with patient demographic information in additionto bone density to determine a level of force that is applied throughthe use of the pressure-sensing endplate pusher.

In another aspect, a robot arm (e.g., robot arm 141, links 206, 210,214, 218, 222, and 226) of the robotic device (e.g., robotic device 140,robotic device 200) may be coupled to a retractor. In one embodiment,the retractor may include one or more sensors for detecting the pressureexerted on the retractor. Since the retractor is controlled by therobotic device, the robotic device may be configured to provide thepressure information to a computing device (e.g., processing device 122,processing device 300).

In one example the computing device may analyze the pressure data todetermine if one or more soft tissues are associated with a pressurethat exceeds a safety threshold. In this example, the computing devicemay communicate this information to a user via display 126 as well asinstruct the robotic device to reduce the amount of retractionassociated with the soft tissues.

Since the force on the robot is known, and so is the retractor area, thecomputing device may be configured to convert both of those into apressure. In one example, display 126 may be configured to display agraphical user interface (GUI) that can provide a graduated indicator ofhow much pressure is applied relative to a maximum amount of pressureallowed. In one embodiment, the robotic device may be configured to holdthe load at any spot along that relative gauge. In another example,according to a preoperative plan, the robotic device may be configuredto only retract to a certain pressure.

FIG. 4 depicts an example computer readable medium configured accordingto an example embodiment. In example embodiments, an example system mayinclude one or more processors, one or more forms of memory, one or moreinput devices/interfaces, one or more output devices/interfaces, andmachine readable instructions that when executed by the one or moreprocessors cause the system to carry out the various functions tasks,capabilities, etc., described above.

As noted above, in some embodiments, the disclosed techniques (e.g.,functions of the robotic device 140, robotic device 200, processingdevice 122, computing device 300, etc.) may be implemented by computerprogram instructions encoded on a computer readable storage media in amachine-readable format, or on other media or articles of manufacture.FIG. 4 is a schematic illustrating a conceptual partial view of anexample computer program product that includes a computer program forexecuting a computer process on a computing device, arranged accordingto at least some embodiments disclosed herein.

In one embodiment, an example computer program product 400 is providedusing a signal bearing medium 402. The signal bearing medium 402 mayinclude one or more programming instructions 404 that, when executed byone or more processors, may provide functionality or portions of thefunctionality described above with respect to FIGS. 1-3. In someexamples, the signal bearing medium 402 may be a computer-readablemedium 406, such as, but not limited to, a hard disk drive, a CompactDisc (CD), a Digital Video Disk (DVD), a digital tape, memory, etc. Insome implementations, the signal bearing medium 402 may be a computerrecordable medium 408, such as, but not limited to, memory, read/write(R/W) CDs, R/W DVDs, etc. In some implementations, the signal bearingmedium 402 may be a communication medium 410 (e.g., a fiber optic cable,a waveguide, a wired communications link, etc.). Thus, for example, thesignal bearing medium 402 may be conveyed by a wireless form of thecommunications medium 410.

The one or more programming instructions 404 may be, for example,computer executable and/or logic implemented instructions. In someexamples, a computing device may be configured to provide variousoperations, functions, or actions in response to the programminginstructions 404 conveyed to the computing device by one or more of thecomputer readable medium 406, the computer recordable medium 408, and/orthe communications medium 410.

The computer readable medium 406 may also be distributed among multipledata storage elements, which could be remotely located from each other.The computing device that executes some or all of the storedinstructions could be an external computer, or a mobile computingplatform, such as a smartphone, tablet device, personal computer,wearable device, etc. Alternatively, the computing device that executessome or all of the stored instructions could be remotely locatedcomputer system, such as a server.

FIGS. 5 and 6 are flow diagrams of example methods during a surgicalprocedure, in accordance with at least one or more embodiments describedherein. Although the blocks in each figure are illustrated in asequential order, the blocks may in some instances be performed inparallel, and/or in a different order than those described therein.Also, the various blocks may be combined into fewer blocks, divided intoadditional blocks, and/or removed based upon the desired implementation.

In addition, the flow diagrams of FIGS. 5 and 6 show the functionalityand operation of possible implementations of the present embodiment. Inthis regard, each block may represent a module, a segment, or a portionof program code, which includes one or more instructions executable by aprocessor for implementing specific logical functions or steps in theprocess. The program code may be stored on any type of computer readablemedium, for example, such as a storage device including a disk or harddrive. The computer readable medium may include non-transitorycomputer-readable media that stores data for short periods of time, suchas register memory, processor cache, or Random Access Memory (RAM),and/or persistent long term storage, such as read only memory (ROM),optical or magnetic disks, or compact-disc read only memory (CD-ROM),for example. The computer readable media may be able, or include, anyother volatile or non-volatile storage systems. The computer readablemedium may be considered a computer readable storage medium, a tangiblestorage device, or other article of manufacture, for example.

Alternatively, each block in FIGS. 5 and 6 may represent circuitry thatis wired to perform the specific logical functions in the process.Illustrative methods, such as those shown in FIGS. 5 and 6, may becarried out in whole in or in part by a component or components in thecloud and/or system 100 of FIG. 1. However, it should be understood thatthe example methods may instead be carried out by other entities orcombinations of entities (i.e., by other computing devices and/orcombination of computer devices), without departing from the scope ofthe invention. For example, functions of the methods of FIGS. 5 and 6may be fully performed by a computing device (or components of acomputing device such as one or more processors), or may be distributedacross multiple components of the computing device, across multiplecomputing devices (e.g., control unit 118 and image processing device122 of FIG. 1), and/or across a server.

Referring to FIG. 5, an example method 500 during a surgical proceduremay include one or more operations, functions, or actions as illustratedby blocks 502-508. In one embodiment, the method 500 is implemented inwhole or in part by the system 100 of FIG. 1.

As shown by block 502, the method 500 includes capturing a pose of asurgical tool at a surgical site of a patient. In one example, thetracking device 130 may be configured to capture one or more images ofthe instrument T as the instrument T is used in a surgical procedure.The captured one or more images are processed so as to determineorientation and position data associated with one or more IR markerscoupled to the instrument T. The determined orientation and positiondata associated with the one or more IR markers is then used todetermine the three-dimensional pose data of the instrument T over agiven period of time. In one example, the instrument T may be placed ata known location within the operating room to indicate the trigger ofcapturing motion data. Continuing with this example, the processingdevice 122 may be configured to determine when the instrument T has notmoved within a predetermined amount of time as an indicator to end thecapture of motion data. In another example, a button may be depressed ona user interface, such as on the display device 126 or interface 125 totoggle between starting and stopping the capture of motion dataassociated with instrument T.

As shown by block 504, the method 500 includes in response to thecaptured pose, determining a range of movement of the surgical tool atthe surgical site. In one example, the determined range of movement isbased on a pivot of the surgical tool within an area of significance atthe surgical site. In one example, the area of significance is based ona diameter of five millimeters.

In one example, the method 500 also includes determining a second rangeof movement corresponding to the captured pose. In this example, themethod may also compare the range of movement to the second range ofmovement. Based on the comparison, the method may also include providinginstructions to adjust a position of the surgical tool. For example, theprocessing device 122 may be configured to determine the second range ofmovement based on an offset of the current position of the surgicaltool. In this example, the second range of movement may allow foradditional degrees of rotation of the surgical tool by adjusting thecurrent position of the surgical tool to the offset position.

In another example, the surgical site comprises a vertebra. In thisexample, the method may include determining the range of movement basedon detection of one or more edges corresponding to the vertebra. Forexample, the processing device 122 may include computer executableinstructions that are configured to perform a segmentation step. As usedherein, “segmentation” describes a process that identifies individualvertebrae within three-dimensional image data so that the vertebrae canbe separated and treated, manipulated, and displayed distinct from oneanother. The segmentation step may employ a segmentation algorithm thatuses imaging processing and image recognition software to automate thespinal level segmentation process. In one embodiment, the computerexecutable instructions automatically identify and extract the spinecurve, detect and identify each individual vertebra, until they aresegmented from one another. One or more adaptive meshes may be appliedto generate a segmented three-dimensional model of the spine. Eachvertebra or other anatomical features can be separately colored tovisibly enhance the bone-soft tissue interface, or just the margin canbe colored.

As shown by block 506, the method 500 includes displaying arepresentation of the determined range of movement onto an imageassociated with the surgical site. Referring to FIG. 7, FIG. 7illustrates an example two-dimensional image 700 of a surgical site thatincludes vertebra 702 and a surgical tool 704. In one example, the poseof the surgical tool 704 is captured and used to determine a range ofmovement of the surgical tool 704. In one example, a processing device(e.g., processing device 122) may be configured to determine an axis 706for pivoting the surgical tool 704. The processing device may also beconfigured for determining a range of degrees 708 within one or moreplanes for pivoting the surgical tool 704 about the axis 706. In oneexample, the image 700 may be displayed on a display (e.g., display126). This would enable a user (e.g., a surgeon) to view arepresentation of at least one of the axis 706 and the range of degrees708 in order to make an informed decision before proceeding with a nextstep in the surgical procedure.

Referring back to FIG. 5, as shown by block 508, the method 500 includesproviding one or more instructions to limit a movement of a roboticdevice according to the determined range of movement. In one example,the one or more instructions include robotic movements that limit an endeffector of the robotic device to particular positions in space based onthe determined range of movement. In one example, the method alsoincludes providing instructions to stop any movement associated with therobotic device. In one example, the one or more instructions may beprovided via a wireless or wired communication interface between theprocessing device 122 and the robotic device 140.

Referring to FIG. 6, an example method 600 during a surgical proceduremay include one or more operations, functions, or actions as illustratedby blocks 602-608. In one embodiment, the method 600 is implemented inwhole or in part by the system 100 of FIG. 1.

As shown by block 602, the method 600 includes capturing a pose of asurgical tool at a surgical site of a patient, wherein the surgical toolis coupled to a robotic device. Block 602 may be similar infunctionality to block 502 of method 500.

As shown by block 604, the method 600 includes in response to thecaptured pose, determining (i) an axis for pivoting the surgical tooland (ii) a range of degrees within one or more planes for pivoting thesurgical tool about the axis. Block 604 may be similar in functionalityto block 504 of method 500.

As shown by block 606, the method 600 includes displaying arepresentation of at least one of the axis and the range of degrees on adisplay. Block 606 may be similar in functionality to block 506 ofmethod 500. In one example, in order to form a pilot hole for pediclescrew placement in a vertebral pedicle with the aid of the roboticdevice 140, the instrument T is advanced by a surgeon to the pedicletarget site where the pilot hole is to be formed. In this example, thetracking device 130 is configured to capture the position andorientation of instrument T and provide the position and orientationinformation to the processing device 122. Continuing with this example,the processing device 122 is configured to provide an image of thesurgical site for display and a representation of at least one of theaxis and the range of degrees on a display.

As shown by block 608, the method 600 also includes providing one ormore instructions to limit a movement of the robotic device according tothe axis and the range of degrees within the one or more planes. Block608 may be similar in functionality to block 508 of method 500. In oneexample, a sequence of robot joint parameters, including joint angles,velocities, and/or accelerations may be determined for limiting themovement of the robotic device according to the axis and the range ofdegrees within the one or more planes. In one embodiment, robotmovements may be modified in order to smooth motion curves of the robotand/or of the robot tool in order to avoid jerking or disconnectedmovements while a user is pivoting the surgical tool.

It should be understood that arrangements described herein are forpurposes of example only. As such, those skilled in the art willappreciate that other arrangements and other elements (e.g. machines,interfaces, functions, orders, and groupings of functions, etc.) can beused instead, and some elements may be omitted altogether according tothe desired results. Further, many of the elements that are describedare functional entities that may be implemented as discrete ordistributed components or in conjunction with other components, in anysuitable combination and location, or other structural elementsdescribed as independent structures may be combined.

What is claimed is:
 1. A method comprising: capturing a pose of a surgical tool at a surgical site of a patient; determining a range of movement of the surgical tool at the surgical site, in response to the captured pose; displaying a representation of the determined range of movement onto an image associated with the surgical site; and providing one or more instructions to limit a movement of a robotic device according to the determined range of movement.
 2. The method of claim 1, wherein the determined range of movement is based on a pivot of the surgical tool within an area of significance at the surgical site.
 3. The method of claim 2, wherein the area of significance is based on a diameter of five millimeters.
 4. The method of claim 1, further comprising: determining a second range of movement corresponding to the captured pose; comparing the range of movement to the second range of movement; and providing instructions to adjust a position of the surgical tool, based on the comparison.
 5. The method of claim 1, wherein the surgical site comprises a vertebra, wherein determining the range of movement includes detection of one or more edges corresponding to the vertebra.
 6. The method of claim 1, wherein providing instructions to limit a movement of a robotic device according to the determined range of movement comprises an instruction to stop any movement associated with the robotic device.
 7. The method of claim 2, wherein the pivot of the surgical tool is based on a pivot about a distal end of the surgical tool.
 8. The method of claim 1, wherein determining the range of movement of the surgical tool at the surgical site is based on a selection of a particular vertebra.
 9. The method of claim 1, wherein providing instructions to limit a movement of a robotic device according to the determined range of movement comprises an instruction to limit movement associated with the robotic device to at least one plane.
 10. A system comprising: a tracking device; a robotic device; and a processing device comprising: a processor; and a non-transitory computer readable medium having stored thereon instructions that, when executed by the processor, cause the system to: capture, via the tracking device, a pose of a surgical tool at a surgical site of a patient; determine, by the processor, a range of movement of the surgical tool at the surgical site, in response to the captured pose; display a representation of the determined range of movement onto an image associated with the surgical site; and provide one or more instructions to limit a movement of a robotic device according to the determined range of movement.
 11. The system of claim 10, wherein the determined range of movement is based on a pivot of the surgical tool within a predetermined area of significance at the surgical site.
 12. The system of claim 10, wherein the non-transitory computer readable medium having stored thereon instructions that, when executed by the processor, further cause the system to: determine a second range of movement corresponding to the captured pose; compare the range of movement to the second range of movement; and provide instructions to adjust a position of the surgical tool, based on the comparison.
 13. The system of claim 10, wherein the surgical site comprises a vertebra, wherein determining the range of movement includes detection of one or more edges corresponding to the vertebra.
 14. The system of claim 10, wherein providing instructions to limit a movement of a robotic device according to the determined range of movement comprises an instruction to stop any movement associated with the robotic device.
 15. The system of claim 11, wherein the pivot of the surgical tool is based on a pivot about a distal end of the surgical tool.
 16. The system of claim 10, wherein the non-transitory computer readable medium having stored thereon instructions that, when executed by the processor, further cause the system to determine the range of movement of the surgical tool at the surgical site based on a selection of a particular vertebra.
 17. The system of claim 10, wherein providing instructions to limit a movement of a robotic device according to the determined range of movement comprises an instruction to limit movement associated with the robotic device to at least one plane.
 18. A method comprising: capturing a pose of a surgical tool at a surgical site of a patient, wherein the surgical tool is coupled to a robotic device; determining (i) an axis for pivoting the surgical tool and (ii) a range of degrees within one or more planes for pivoting the surgical tool about the axis, in response to the captured pose; displaying a representation of at least one of the axis and the range of degrees on a display; and providing one or more instructions to limit a movement of the robotic device according to the axis and the range of degrees within the one or more planes.
 19. The method of claim 18, wherein the surgical site comprises a vertebra, wherein determining the range degrees within the one or more plane includes detection of one or more edges corresponding to the vertebra.
 20. The method of claim 18, wherein providing instructions to limit a movement of a robotic device according to the determined range of movement comprises an instruction to limit movement associated with the robotic device to at least one plane. 